import { authAPI } from '@/api/auth'

// API测试工具
export const apiTest = {
  // 测试验证码接口
  async testCaptcha() {
    console.log('🧪 测试验证码接口...')
    try {
      const result = await authAPI.getCaptcha()
      console.log('✅ 验证码接口测试成功:', result)
      return result
    } catch (error) {
      console.error('❌ 验证码接口测试失败:', error)
      return null
    }
  },

  // 测试登录接口
  async testLogin(username = 'admin', password = 'admin123', captcha = 'test', captchaKey = 'test-key') {
    console.log('🧪 测试登录接口...')
    try {
      const result = await authAPI.login({
        username,
        password,
        captcha,
        captchaKey
      })
      console.log('✅ 登录接口测试成功:', result)
      return result
    } catch (error) {
      console.error('❌ 登录接口测试失败:', error)
      return null
    }
  },

  // 测试登出接口
  async testLogout() {
    console.log('🧪 测试登出接口...')
    try {
      const result = await authAPI.logout()
      console.log('✅ 登出接口测试成功:', result)
      return result
    } catch (error) {
      console.error('❌ 登出接口测试失败:', error)
      return null
    }
  },

  // 运行所有测试
  async runAllTests() {
    console.log('🚀 开始API接口测试...')
    
    // 测试验证码
    const captchaResult = await this.testCaptcha()
    
    if (captchaResult && captchaResult.success) {
      // 使用真实的验证码数据测试登录
      await this.testLogin('admin', 'admin123', 'test', captchaResult.data.captchaKey)
    } else {
      // 使用模拟数据测试登录
      await this.testLogin()
    }
    
    // 测试登出
    await this.testLogout()
    
    console.log('✨ API接口测试完成')
  }
}

// 在开发环境下将测试工具挂载到window对象
if (import.meta.env.DEV) {
  window.apiTest = apiTest
}